-- 为 lzfy_refund_verify_info 表添加 Deleted 状态位和相关字段
-- 执行时间：与定时任务执行时间一致

USE [your_database_name]  -- 请替换为实际的数据库名
GO

-- 1. 添加 Deleted 字段（软删除标记）
ALTER TABLE [dbo].[lzfy_refund_verify_info]
ADD [deleted] [bit] NOT NULL DEFAULT 0;
GO

-- 2. 添加 DeletedTime 字段（删除时间，与定时任务执行时间一致）
ALTER TABLE [dbo].[lzfy_refund_verify_info]
ADD [deleted_time] [datetime] NULL;
GO

-- 3. 添加 DeletedBy 字段（删除操作者）
ALTER TABLE [dbo].[lzfy_refund_verify_info]
ADD [deleted_by] [varchar](50) NULL;
GO

-- 4. 为 deleted 字段创建索引（提高查询性能）
CREATE NONCLUSTERED INDEX IX_lzfy_refund_verify_info_deleted
ON [dbo].[lzfy_refund_verify_info] ([deleted]);
GO

-- 5. 为 deleted_time 字段创建索引
CREATE NONCLUSTERED INDEX IX_lzfy_refund_verify_info_deleted_time
ON [dbo].[lzfy_refund_verify_info] ([deleted_time] DESC);
GO

-- 6. 创建复合索引（deleted + input_date）用于优化常见查询
CREATE NONCLUSTERED INDEX IX_lzfy_refund_verify_info_deleted_input_date
ON [dbo].[lzfy_refund_verify_info] ([deleted], [input_date] DESC);
GO

PRINT '数据库表结构修改完成！';
PRINT '新增字段：';
PRINT '  - deleted: bit类型，默认值0（未删除）';
PRINT '  - deleted_time: datetime类型，记录软删除时间';
PRINT '  - deleted_by: varchar(50)类型，记录删除操作者';
PRINT '新增索引：';
PRINT '  - IX_lzfy_refund_verify_info_deleted';
PRINT '  - IX_lzfy_refund_verify_info_deleted_time';
PRINT '  - IX_lzfy_refund_verify_info_deleted_input_date';